package com.xnyzc.lhy.mis.service.activity;

import com.xnyzc.lhy.mis.entity.activity.OaSysActivityDef;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xnyzc.lhy.mis.entity.param.activity.ActivityCreateParam;
import com.xnyzc.lhy.mis.entity.param.activity.ActivityDefSearchParam;
import com.xnyzc.lhy.mis.entity.result.activity.ActivityDefSearchResult;
import com.xnyzc.lhy.mis.entity.result.activity.ActivityInfoResult;

import java.util.List;

/**
 * <p>
 * 活动定义 服务类
 * </p>
 *
 * @author haoyfa
 * @since 2019-12-16
 */
public interface IOaSysActivityDefService extends IService<OaSysActivityDef> {

    /**
     * 获取活动定义（含查询条件）
     * @param activityDefSearchParam
     * @return
     */
    List<ActivityDefSearchResult> queryActivityDefList(ActivityDefSearchParam activityDefSearchParam);

    /**
     * 创建活动定义
     */
    void createActivityDef(ActivityCreateParam activityCreateParam);

    /**
     * 查询活动信息（根据活动定义ID）
     * @param id
     * @return
     */
    ActivityInfoResult queryActivityInfo(String id);

    /**
     * 活动开始
     */
    void beginActivity();

    /**
     * 活动结束
     */
    void endActivity();

    /**
     * 更新活动状态
     */
    void updateActivityStatus();
}
